A convenience function for throwing a user error. This is useful for
cases where it would be too high a burden to define your own exception
type.
This throws an exception of type
StringException. When GHC
supports it (base 4.9 and GHC 8.0 and onward), it includes a call
stack.